<!DOCTYPE html>
<html lang="zh-CN">

<head>
	<meta charset="UTF-8" />
	<meta name="author" content="wangbo" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>内置对象</title>
</head>

<body>
	<!-- 传入任意字符串，统计字符串中的大写字母个数、小写字母个数、数字个数、其他字符个数。 -->

	<!-- 反转字符串.
   传入："iOS Android HTML5 Java"
   返回："avaJ 5LMTH diordnA SOi" -->



	<!-- 去除字符串中 所有 空格  -->

	<!-- 创建一个长度为5-10, 内容为数字字母下滑线的随机字符串. -->

	<!-- 验证字符串：长度4-16; 只能包含数字、英文字符、下划线三种符号; 首字符不能是数字"; -->


	<!-- 将字符中单词用空格隔开
   已知传入的字符串中只有字母，每个单词的首字母大写，请将每个单词用空格隔开
    只保留第一个单词的首字母大写

 传入:"HelloMyWorld"
 返回:"hello-my-world" -->

	<script>

		let str = "asdQWER!@#$123"
		// 拿到字符
		let Num = 0;
		let num = 0;
		let num_num = 0;
		let other = 0;
		for (let val of str) {
			// val是字符
			if (val >= "A" && val <= "Z") {
				Num++;
				//排除全部的大写
			} else if (val >= "a" && val <= "z") {
				num++;
				//排除了大小写
			} else if (val >= "0" && val <= "9") {
				num_num++
				// 
			} else {
				other++;
			}
		}
		console.log(`大写字符${Num}--小写字符${num}--数字${num_num}--其他${other}`)


		// 验证字符串：长度4-16; 只能包含数字、英文字符、下划线三种符号; 首字符不能是数字";
		let str = prompt("请输入有一个变量名,长度4-16; 数字、字母、下划线组成")
		// let str = "sdf2中"
		function check() {
			if (!(str.length >= 4 && str.length <= 16)) {
				alert("长度不对")
				return
			}

			if (str[0] >= "0" && str[0] <= "9") {
				alert("不能数字开头")
				return
			}

			for (let i = 0; i < str.length; i++) {
				if (!(str[i] >= "a" && str[i] <= "z" || str[i] >= "A" && str[i] <= "Z" || str[i] >= "0" && str[i] <= "9" || str[i] == "_")) {
					alert("只能是,字母,数字,下划线")
					return
				}
			}
			alert("符合规范")
		}
		check()
	</script>
</body>

</html>